#!/bin/bash

# 设置变量
REPO_NAME="ac-wing-project"
GITEE_USER="lsyhahaha"
REMOTE_URL="git@gitee.com:lsyhahaha/ac-wing-project.git"
EMAIL="987083256@qq.com"  # 替换为你的邮箱

# 1. 检查是否在 Git 仓库中，如果没有则初始化
if [ ! -d ".git" ]; then
    echo "❌ 当前目录不是 Git 仓库，正在初始化..."
    git init
    echo "✅ Git 仓库初始化完成"
fi

# 2. 检查是否已关联远程仓库，如果没有则添加
if ! git remote | grep -q "origin"; then
    echo "🔗 正在关联远程仓库: ${REMOTE_URL}"
    git remote add origin "${REMOTE_URL}"
else
    echo "🔗 远程仓库已存在，URL: $(git remote get-url origin)"
fi

# 3. 检查 SSH 密钥是否存在，如果没有则生成
if [ ! -f ~/.ssh/id_ed25519 ] && [ ! -f ~/.ssh/id_rsa ]; then
    echo "🔑 未找到 SSH 密钥，正在生成..."
    ssh-keygen -t ed25519 -C "${EMAIL}" -f ~/.ssh/id_ed25519 -N ""
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_ed25519
    echo "✅ SSH 密钥已生成"
fi

# 4. 显示公钥并提示用户添加到 Gitee
echo "📋 请将以下公钥复制到 Gitee 的 SSH 公钥设置（https://gitee.com/profile/sshkeys）:"
echo "----------------------------------------"
cat ~/.ssh/id_ed25519.pub || cat ~/.ssh/id_rsa.pub
echo "----------------------------------------"
read -p "⏳ 是否已添加公钥到 Gitee？[y/N] " CONFIRM

if [[ "$CONFIRM" != "y" && "$CONFIRM" != "Y" ]]; then
    echo "❌ 请先添加公钥到 Gitee，然后重新运行脚本。"
    exit 1
fi

# 5. 测试 SSH 连接
echo "🔄 测试 SSH 连接..."
ssh -T git@gitee.com

# 6. 推送代码
echo "🚀 正在推送代码到远程仓库..."
git add .
git commit -m "Initial commit" || echo "⚠️ 无新文件提交，跳过提交步骤"
git push -u origin master || git push -u origin master --force

echo "🎉 问题已解决！请检查远程仓库：https://gitee.com/${GITEE_USER}/${REPO_NAME}"